package com.springframework.context.annotation;

import com.springframework.beans.factory.annotation.MyAnnotatedBeanDefinition;
import com.springframework.beans.factory.support.MyRootBeanDefinition;
import org.springframework.core.type.AnnotationMetadata;
import org.springframework.core.type.MethodMetadata;

/**
 * @Author 虎哥
 * @Description //TODO
 * 要带着问题去学习,多猜想多验证
 **/
public class MyConfigurationClassBeanDefinitionReader {

    // @Bean 定义的方法 导入 Bea
    // 通过 @Bean 定义的方法会解析成该对象
    private static class MyConfigurationClassBeanDefinition extends MyRootBeanDefinition implements MyAnnotatedBeanDefinition {

        public MyConfigurationClassBeanDefinition(Class<?> beanClass) {
            super(beanClass);
        }


        @Override
        public void setAttribute(String name, Object value) {

        }

        @Override
        public Object getAttribute(String name) {
            return null;
        }

        @Override
        public Object removeAttribute(String name) {
            return null;
        }

        @Override
        public boolean hasAttribute(String name) {
            return false;
        }

        @Override
        public String[] attributeNames() {
            return new String[0];
        }

        @Override
        public AnnotationMetadata getMetadata() {
            return null;
        }

        @Override
        public MethodMetadata getFactoryMethodMetadata() {
            return null;
        }

        @Override
        public String getParentName() {
            return null;
        }

        @Override
        public void setParentName(String parentName) {

        }

        @Override
        public void setScope(String scope) {

        }
    }
}
